home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d963.lha / SIOD / scm / count-atom.scm < prev    next >
Text File  |  1999-12-31  |  646b  |  18 lines

  1. (define (c-atom l)
  2.         (define (count-a l)
  3.                 (do ((count 0)
  4.                      (pila (make-pila)))
  5.                     ((and (atom? l) (empty-pila? pila)) 
  6.                      (set! count (+ count 1)) count)
  7.                     (cond ((atom? l) (set! count (+ count 1))
  8.                                      (set! l (top pila))
  9.                                      (pop! pila))
  10.                           (else (push! (car l) pila)
  11.                                 (set! l (cdr l))))))
  12.          (count-a l))
  13.  
  14. (define (count-atom l)
  15.         (if (atom? l)
  16.             1
  17.             (+ (count-atom (car l)) (count-atom (cdr l)))))
  18.